package g11.actionutil;

import g11.model.Appointment;
import g11.model.Drug;
import g11.model.Employee;
import g11.model.Visitation;
import g11.model.VisitationContent;

import java.util.List;

public interface VisitationContentUtil {

	public List<VisitationContent> getLatestVisitationContentListByVisitationList(
			List<Visitation> visitationList) throws Exception;

	// the intented visitationContent is suppose to be a persisted object coming
	// from the database, which should contain an Visitation object
	public Integer updateVisitationContent(VisitationContent visitationContent)
			throws Exception;

	public List<VisitationContent> getLatestVisitationContentByDrugForDoctor(
			Drug drug, Employee docotor) throws Exception;

	// attribute: 0:diagnosis, 1:treatment, 2:comment 3: patientname
	public List<VisitationContent> getLatestVisitationContentByKeywordForDoctor(
			Employee doctor, String keyword, int attribute) throws Exception;

	/*
	 * createVisitationContentFromAppointment
	 * 
	 * 1. create Visitation 2. create VisitationContent, 3.persist prescription
	 * if there are any.
	 */
	public Integer createVisitationContentFromAppointment(
			Appointment appointment, VisitationContent visitationContent)
			throws Exception;

	public VisitationContent getVisitationContentByVisitationId(
			Integer visitationId) throws Exception;
}
